Setup

Load R libraries

library(data.table)
library(ggplot2)
library(ggpubr)
library(tidyr)
library(limma)
library(stringr)

theme_set(theme_classic())

cell_type_name = params$cell_type_name
graph_weight = params$graph_weight

cell_type_name
## [1] "cd4"
graph_weight
## [1] "10.0"

Check enrichment of gene sets

Read in gene info and gene set assignments

file_tag = sprintf("%s_BL_%s", cell_type_name, graph_weight)

assayed_genes = scan(sprintf("output/gene_list_%s.txt", file_tag), 
                     what = character(), sep="\n")

gene_sets = scan(sprintf("output/name_s_%s.txt", file_tag), 
                 what = character(), sep="\n")

gene_sets = sapply(gene_sets, strsplit, USE.NAMES=FALSE, split=",")
n_genes   = sapply(gene_sets, length)
names(n_genes) = NULL
summary(n_genes)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    1.00   25.00   27.00   26.18   28.00   29.00
length(n_genes)
## [1] 40
sort(n_genes)
##  [1]  1 23 24 24 24 25 25 25 25 25 25 26 26 26 26 26 27 27 27 27 27 27 27 28 28
## [26] 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29

Find gene symbols using the alias2Symbol function from limma.

a2s = rep(NA, length(assayed_genes))
for(i in 1:length(assayed_genes)){
  gi = assayed_genes[i]
  ai = alias2Symbol(gi)
  if(length(ai) > 1){
    print(gi)
    print(ai)
  }
  a2s[i] = ai[1]
}
## [1] "HIST1H2BC"
## [1] "H2BC5" "H2BC4"
## [1] "MPP6"
## [1] "MPHOSPH6" "PALS2"   
## [1] "MARS"
## [1] "MARS1" "SLA2" 
## [1] "SEPT2"
## [1] "SEPTIN6" "SEPTIN2"
table(is.na(a2s))
## 
## FALSE  TRUE 
##  1951    49
table(a2s == assayed_genes, useNA = 'ifany')
## 
## FALSE  TRUE  <NA> 
##    45  1906    49
gene_info = data.table(sym_in_data = assayed_genes, sym_limma = a2s)

gene_info[sym_in_data != sym_limma,]
##      sym_in_data   sym_limma
##  1:      ADPRHL2       ADPRS
##  2:          AES        TLE5
##  3:     C12orf45    NOPCHAP1
##  4:      C3orf58      DIPK2A
##  5:      C6orf99   LINC02901
##  6:        CBWD2       ZNG1B
##  7:      CXorf57        RADX
##  8:      FAM102A       EEIG1
##  9:      FAM122C      PABIR3
## 10:      FAM153C    FAM153CP
## 11:     FAM160A2      FHIP1B
## 12:        GRASP     TAMALIN
## 13:        H2AFX        H2AX
## 14:    HIST1H2AG      H2AC11
## 15:    HIST1H2BC       H2BC5
## 16:    HIST1H2BK      H2BC12
## 17:    HIST1H2BN      H2BC15
## 18:     HIST1H3A        H3C1
## 19:     HIST1H3H       H3C10
## 20:     HIST1H4C        H4C3
## 21:    HIST2H2BF      H2BC18
## 22:         LRMP       IRAG2
## 23:      MFSD14C    MFSD14CP
## 24:         MKL1       MRTFA
## 25:         MPP6    MPHOSPH6
## 26:  RNASEH1-AS1  RNASEH1-DT
## 27:        SEPT6     SEPTIN6
## 28:        SEPT9     SEPTIN9
## 29: TMEM161B-AS1 TMEM161B-DT
## 30:        ARNTL       BMAL1
## 31:     C6orf106       ILRUN
## 32:     C6orf203      MTRES1
## 33:      FAM129A      NIBAN1
## 34:     FAM160B1      FHIP2A
## 35:      FAM192A    PSME3IP1
## 36:        HEXDC        HEXD
## 37:     HIST1H1E        H1-4
## 38:     KIAA0100       BLTP2
## 39:     KIAA1551       RESF1
## 40:         LARS       LARS1
## 41:         MARS       MARS1
## 42:      PLA2G16      PLAAT3
## 43:        SEPT2     SEPTIN6
## 44:       SMIM37        MTLN
## 45:         YARS       YARS1
##      sym_in_data   sym_limma
gene_info[, gene_symbol := sym_in_data]
gene_info[which(sym_in_data != sym_limma & (gene_symbol != "MT-CO2")), 
                gene_symbol := sym_limma]

dim(gene_info)
## [1] 2000    3
gene_info[1:5,]
##    sym_in_data sym_limma gene_symbol
## 1:       ABCD3     ABCD3       ABCD3
## 2:       ABCG1     ABCG1       ABCG1
## 3:       ABHD5     ABHD5       ABHD5
## 4:        ABI1      ABI1        ABI1
## 5:      ABLIM1    ABLIM1      ABLIM1
t1 = table(gene_info$gene_symbol)
table(t1)
## t1
##    1    2 
## 1998    1
gene_info[gene_symbol %in% names(t1)[t1 == 2],]
##    sym_in_data sym_limma gene_symbol
## 1:       SEPT6   SEPTIN6     SEPTIN6
## 2:       SEPT2   SEPTIN6     SEPTIN6
gene_info[sym_in_data == "HIST1H2BC", gene_symbol:="H2BC4"]
gene_info[sym_in_data == "HIST1H2BG", gene_symbol:="H2BC8"]
gene_info[sym_in_data == "SEPT6", gene_symbol:="SEPTIN6"]
gene_info[sym_in_data == "SEPT2", gene_symbol:="SEPTIN2"]

Read in cell type-specific expression data

Cell type specific gene expression were downloaded from protein atlas.

ct = fread("../Annotation/rna_single_cell_type.tsv.gz")
dim(ct)
## [1] 1587110       4
ct[1:5,]
##               Gene Gene name             Cell type  nTPM
## 1: ENSG00000000003    TSPAN6            Adipocytes 149.5
## 2: ENSG00000000003    TSPAN6 Alveolar cells type 1   6.1
## 3: ENSG00000000003    TSPAN6 Alveolar cells type 2  10.5
## 4: ENSG00000000003    TSPAN6            Astrocytes  13.9
## 5: ENSG00000000003    TSPAN6               B-cells   1.5
length(unique(ct$`Cell type`))
## [1] 79
table(ct$`Cell type`)
## 
##                      Adipocytes           Alveolar cells type 1 
##                           20090                           20090 
##           Alveolar cells type 2                      Astrocytes 
##                           20090                           20090 
##                         B-cells             Basal keratinocytes 
##                           20090                           20090 
##           Basal prostatic cells         Basal respiratory cells 
##                           20090                           20090 
## Basal squamous epithelial cells                   Bipolar cells 
##                           20090                           20090 
##          Breast glandular cells      Breast myoepithelial cells 
##                           20090                           20090 
##                  Cardiomyocytes                  Cholangiocytes 
##                           20090                           20090 
##                      Club cells           Collecting duct cells 
##                           20090                           20090 
##        Cone photoreceptor cells                Cytotrophoblasts 
##                           20090                           20090 
##                 dendritic cells              Distal enterocytes 
##                           20090                           20090 
##            Distal tubular cells                    Ductal cells 
##                           20090                           20090 
##                Early spermatids      Endometrial ciliated cells 
##                           20090                           20090 
##       Endometrial stromal cells               Endothelial cells 
##                           20090                           20090 
##           Enteroendocrine cells                 Erythroid cells 
##                           20090                           20090 
##              Excitatory neurons        Exocrine glandular cells 
##                           20090                           20090 
##       Extravillous trophoblasts                     Fibroblasts 
##                           20090                           20090 
##   Gastric mucus-secreting cells     Glandular and luminal cells 
##                           20090                           20090 
##                    granulocytes                 Granulosa cells 
##                           20090                           20090 
##                     Hepatocytes                  Hofbauer cells 
##                           20090                           20090 
##                Horizontal cells              Inhibitory neurons 
##                           20090                           20090 
##         Intestinal goblet cells                       Ionocytes 
##                           20090                           20090 
##                   Kupffer cells                Langerhans cells 
##                           20090                           20090 
##                 Late spermatids                    Leydig cells 
##                           20090                           20090 
##                     Macrophages                     Melanocytes 
##                           20090                           20090 
##                Microglial cells                       monocytes 
##                           20090                           20090 
##           Mucus glandular cells               Muller glia cells 
##                           20090                           20090 
##                        NK-cells Oligodendrocyte precursor cells 
##                           20090                           20090 
##                Oligodendrocytes      Pancreatic endocrine cells 
##                           20090                           20090 
##                    Paneth cells               Peritubular cells 
##                           20090                           20090 
##                    Plasma cells       Prostatic glandular cells 
##                           20090                           20090 
##            Proximal enterocytes          Proximal tubular cells 
##                           20090                           20090 
##      Respiratory ciliated cells         Rod photoreceptor cells 
##                           20090                           20090 
##             Salivary duct cells                   Schwann cells 
##                           20090                           20090 
##          Serous glandular cells                   Sertoli cells 
##                           20090                           20090 
##               Skeletal myocytes             Smooth muscle cells 
##                           20090                           20090 
##                   Spermatocytes                   Spermatogonia 
##                           20090                           20090 
##       Squamous epithelial cells        Suprabasal keratinocytes 
##                           20090                           20090 
##            Syncytiotrophoblasts                         T-cells 
##                           20090                           20090 
##                     Theca cells         Thymic epithelial cells 
##                           20090                           20090 
##          Undifferentiated cells 
##                           20090
ct_immune = fread("../Annotation/rna_immune_cell_monaco.tsv.gz")
dim(ct_immune)
## [1] 602700      5
ct_immune[1:5,]
##               Gene Gene name                Immune cell TPM pTPM
## 1: ENSG00000000003    TSPAN6                   basophil  NA  1.2
## 2: ENSG00000000003    TSPAN6  Central memory CD8 T-cell  NA  1.7
## 3: ENSG00000000003    TSPAN6         classical monocyte  NA  0.2
## 4: ENSG00000000003    TSPAN6 Effector memory CD8 T-cell  NA  0.7
## 5: ENSG00000000003    TSPAN6    Exhausted memory B-cell  NA  0.7
summary(ct_immune$TPM)
##    Mode    NA's 
## logical  602700
summary(ct_immune$pTPM)
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##     0.00     0.00     3.10    49.74    27.20 96572.50
summary(ct_immune$pTPM[ct_immune$pTPM > 0])
##     Min.  1st Qu.   Median     Mean  3rd Qu.     Max. 
##     0.10     1.70    11.60    67.96    42.80 96572.50
length(unique(ct_immune$`Immune cell`))
## [1] 30
table(ct_immune$`Immune cell`)
## 
##                            basophil           Central memory CD8 T-cell 
##                               20090                               20090 
##                  classical monocyte          Effector memory CD8 T-cell 
##                               20090                               20090 
##             Exhausted memory B-cell               intermediate monocyte 
##                               20090                               20090 
##                         MAIT T-cell               Memory CD4 T-cell TFH 
##                               20090                               20090 
##               Memory CD4 T-cell Th1          Memory CD4 T-cell Th1/Th17 
##                               20090                               20090 
##              Memory CD4 T-cell Th17               Memory CD4 T-cell Th2 
##                               20090                               20090 
##                          myeloid DC                        naive B-cell 
##                               20090                               20090 
##                    naive CD4 T-cell                    naive CD8 T-cell 
##                               20090                               20090 
##                          neutrophil                             NK-cell 
##                               20090                               20090 
##              non-classical monocyte          Non-switched memory B-cell 
##                               20090                               20090 
##                       Non-Vd2 gdTCR                         Plasmablast 
##                               20090                               20090 
##                     plasmacytoid DC                     Progenitor cell 
##                               20090                               20090 
##              Switched memory B-cell                               T-reg 
##                               20090                               20090 
## Terminal effector memory CD4 T-cell Terminal effector memory CD8 T-cell 
##                               20090                               20090 
##                          total PBMC                           Vd2 gdTCR 
##                               20090                               20090
lineage = fread("../Annotation/rna_immune_cell_monaco_cell_types.tsv")
dim(lineage)
## [1] 30  2
lineage[1:2,]
##     Cell_type      Lineage
## 1:   Basophil Granulocytes
## 2: Neutrophil Granulocytes

Check gene expression for each gene set

dim(gene_info)
## [1] 2000    3
for(k in 1:length(gene_sets)){
  if(length(gene_sets[[k]]) < 10) { next }
  
  print(k)
  set_k = paste0("set_", k)
  print(gene_sets[[k]])
  
  genes = gene_info[sym_in_data %in% gene_sets[[k]], gene_symbol]

  n_genes = sum(genes %in% ct_immune$`Gene name`)
  print(sprintf("found %d genes.", n_genes))

  if(n_genes == 0) { next }

  df = ct_immune[`Gene name` %in% genes,]
  dim(df)
  df[1:2,]
  
  stopifnot(all(str_to_lower(df$`Immune cell`) %in% 
                  str_to_lower(lineage$Cell_type)))
  
  mat1 = match(str_to_lower(df$`Immune cell`), 
               str_to_lower(lineage$Cell_type))
  
  df = cbind(df, lineage[mat1,])
  df[1:2,]
  
  df$Cell_type = factor(df$Cell_type, levels = lineage$Cell_type)
  df = df[df$Lineage != "Total PBMC",]
  df$Lineage   = factor(df$Lineage, 
                        levels = setdiff(lineage$Lineage, "Total PBMC"))
  
  p1 = ggplot(df, aes(x=Cell_type, y=log10(pTPM + 0.1), fill=Lineage)) + 
    geom_boxplot() + xlab("Cell type") + ggtitle(set_k) + 
    theme(axis.text.x = element_text(angle = 45, hjust = 1)) + 
    scale_fill_brewer(palette="RdBu")

  print(p1)
}
## [1] 1
##  [1] "CCNH"     "ERCC5"    "LAX1"     "POU2F2"   "SENP7"    "UTP6"    
##  [7] "ARHGAP10" "ARID5B"   "DTX3L"    "GBP1"     "GBP3"     "GBP5"    
## [13] "GON4L"    "IRF1"     "IRF9"     "MIER1"    "MYO1F"    "MYO1G"   
## [19] "PARP14"   "PARP9"    "RHOH"     "RNF19A"   "SAMD9L"   "SH3BP2"  
## [25] "TGS1"     "XAF1"    
## [1] "found 26 genes."

## [1] 2
##  [1] "CHD2"        "ADGRE5"      "ADGRG1"      "AKNA"        "CARD16"     
##  [6] "CCL4"        "CD300A"      "CTSW"        "FCRL6"       "FGFBP2"     
## [11] "GPR65"       "KIAA0040"    "MESD"        "MIR4435-2HG" "MYBL1"      
## [16] "NAA38"       "PAXX"        "RASAL3"      "S100A12"     "S1PR5"      
## [21] "SLFN12L"     "TRANK1"      "TRAV29DV5"   "TRBV6-1"     "TSPAN32"    
## [26] "TTC38"       "UBALD2"      "ZNF683"     
## [1] "found 26 genes."

## [1] 3
##  [1] "ABHD5"      "AL118516.1" "ATG13"      "C16orf74"   "CFAP36"    
##  [6] "CTSF"       "EVI2B"      "FAM118A"    "FAM153C"    "MAP3K8"    
## [11] "MAST4"      "NUAK2"      "PARP8"      "PNPLA2"     "RGS1"      
## [16] "RIC1"       "SCML4"      "SLC26A11"   "SLC7A6"     "SNRK"      
## [21] "TBCC"       "TCP11L2"    "TMEM107"    "ZFAND5"     "ZMAT1"     
## [26] "SCAMP4"     "SDF2"       "SP140"     
## [1] "found 26 genes."

## [1] 4
##  [1] "ADPRHL2"  "ASAH1"    "DHRS3"    "FAM227B"  "GPA33"    "GPX4"    
##  [7] "HINT1"    "HINT3"    "HVCN1"    "LTA4H"    "MID1IP1"  "OTUD5"   
## [13] "PHC1"     "PPIL3"    "PTGER4"   "RNF220"   "RPL41"    "SFMBT1"  
## [19] "TAGLN2"   "TRAV13-2" "TRAV9-2"  "C12orf75" "FKBP2"    "GSR"     
## [25] "HEXDC"    "LAP3"     "TIMP1"    "TMEM62"  
## [1] "found 28 genes."

## [1] 5
##  [1] "AC007952.4"  "AC015982.1"  "AC025164.1"  "AC087239.1"  "AC093323.1" 
##  [6] "AC245014.3"  "ADA2"        "AL133415.1"  "AL138963.3"  "ARL4A"      
## [11] "COQ10A"      "COQ8A"       "FAM122C"     "IL23A"       "ILF3-DT"    
## [16] "LETM2"       "LRRC8C-DT"   "MBNL2"       "MLXIP"       "NBPF14"     
## [21] "PLCL1"       "PRR7"        "RABL2B"      "RNASEK"      "SNHG8"      
## [26] "TBC1D7"      "TRAV38-2DV8" "TSPOAP1-AS1" "PPP2R3C"    
## [1] "found 17 genes."

## [1] 6
##  [1] "AC087623.3" "ATG9B"      "CD40LG"     "COQ10B"     "COQ7"      
##  [6] "CSKMT"      "MAML2"      "ODC1"       "PDE7A"      "RAB33B"    
## [11] "SLC22A17"   "SLC2A3"     "SNHG12"     "TAGAP"      "TBCCD1"    
## [16] "THAP6"      "TRAV12-1"   "TRAV41"     "UBL3"       "WHAMM"     
## [21] "WSB1"       "XIST"       "ZC3H12D"    "ZNF10"      "ZNF831"    
## [26] "CCDC43"     "PPRC1"      "ZNF267"    
## [1] "found 25 genes."

## [1] 7
##  [1] "CBR3"     "CHMP4A"   "CST3"     "DNAAF2"   "GGT7"     "SLC25A32"
##  [7] "TBPL1"    "USP3"     "B3GALT4"  "CCDC112"  "CTSC"     "DOCK11"  
## [13] "EFHD2"    "FKBP11"   "GNG2"     "GZMB"     "LPCAT4"   "LRRFIP1" 
## [19] "MATK"     "NKG7"     "PMVK"     "PREX1"    "PTGDR"    "SACS"    
## [25] "SH3BGRL3" "SMAP1"    "SRGN"    
## [1] "found 27 genes."

## [1] 8
##  [1] "AMD1"      "ARHGAP9"   "C3orf58"   "CCDC141"   "CDC42SE2"  "CHMP1B"   
##  [7] "FAM117B"   "GRASP"     "IER5"      "IFRD1"     "LBH"       "MBD6"     
## [13] "MTERF4"    "MTRNR2L12" "MYNN"      "RGCC"      "TMC8"      "TSC22D2"  
## [19] "TSC22D3"   "TTC31"     "ADAM19"    "CD69"      "GCN1"      "HIVEP3"   
## [25] "MORC3"     "STAT4"     "TCF25"     "ZEB2"     
## [1] "found 28 genes."

## [1] 9
##  [1] "CBLL1"    "CD38"     "CDC37L1"  "DSE"      "FCGR3A"   "GIMAP8"  
##  [7] "LCP2"     "SLC25A33" "SNX18"    "TRBC2"    "ZBTB25"   "C4orf48" 
## [13] "FAM129A"  "GNG5"     "GNPTAB"   "HLA-DPA1" "LAG3"     "NDUFA3"  
## [19] "NRROS"    "NUS1"     "OAS2"     "SLA"      "SPOCK2"   "SRP54"   
## [25] "TRAT1"    "UBR2"    
## [1] "found 26 genes."

## [1] 10
##  [1] "ARMCX5"   "C17orf49" "CXorf57"  "DBP"      "FOXO1"    "HIST1H3H"
##  [7] "NEK1"     "PEX6"     "PHYH"     "RNF113A"  "SBF2"     "YPEL2"   
## [13] "ZSCAN18"  "COLGALT1" "FNDC3B"   "GCA"      "GNPAT"    "KHNYN"   
## [19] "KIF21A"   "KIF21B"   "PEX26"    "PHF23"    "PLEKHA2"  "RAPGEF1" 
## [25] "TNFRSF18"
## [1] "found 25 genes."

## [1] 11
##  [1] "ANAPC4"  "ATF4"    "EGR1"    "EIF1"    "EIF5"    "EPHB6"   "EPHX2"  
##  [8] "FOSB"    "JUNB"    "LYRM7"   "MALAT1"  "NDE1"    "NEU1"    "NUP54"  
## [15] "PLCD1"   "PNRC1"   "SAT1"    "SP3"     "STK19"   "TCF7"    "TOB2"   
## [22] "BHLHE40" "GPHN"    "MAF"     "SRFBP1"  "TRAC"   
## [1] "found 25 genes."

## [1] 12
##  [1] "AP002360.1" "ARHGAP15"   "C1GALT1"    "CD27"       "ERAP2"     
##  [6] "FCN1"       "GIMAP1"     "IGLV1-44"   "IGLV2-14"   "JPX"       
## [11] "KCNK6"      "KLF7"       "LEPROT"     "LRMP"       "PCMTD2"    
## [16] "PYROXD1"    "RAB37"      "SLC38A1"    "STK17A"     "TRBC1"     
## [21] "TTC39C"     "UCP2"       "XRRA1"      "ZNF84"      "ZNF862"    
## [26] "GZMA"       "IFI44"      "KLRG1"     
## [1] "found 26 genes."

## [1] 13
##  [1] "ADD3"    "C1orf43" "CASP4"   "CD48"    "CD96"    "EVL"     "FOXN3"  
##  [8] "IL16"    "IL27RA"  "LETMD1"  "SEPT6"   "SFI1"    "SH2D1A"  "SLC12A7"
## [15] "STMN3"   "TMEM204" "TRAM1"   "TTC3"    "ACAP3"   "AZI2"    "CLSTN1" 
## [22] "JAKMIP1" "N4BP1"   "SERTAD3" "UBA7"   
## [1] "found 25 genes."

## [1] 14
##  [1] "AKAP7"    "BDH1"     "CCR6"     "CHMP7"    "LCLAT1"   "PDE3B"   
##  [7] "PPP1R15B" "RNF139"   "SIMC1"    "TMEM63A"  "ALG11"    "ATP8B2"  
## [13] "BST2"     "GGCX"     "IFNGR2"   "LPCAT3"   "LPGAT1"   "NPDC1"   
## [19] "PIEZO1"   "RAB8B"    "TCIRG1"   "TSPAN2"   "ZDHHC20" 
## [1] "found 23 genes."

## [1] 15
##  [1] "ATAD1"     "GZMK"      "HDHD2"     "IGKV3-20"  "LRRC8D"    "PECR"     
##  [7] "SLC25A25"  "TOX"       "TRAV12-2"  "TRAV14DV4" "TRAV23DV6" "TRAV8-2"  
## [13] "TRBV6-6"   "ARHGEF3"   "BUD23"     "CFD"       "CX3CR1"    "LINC01871"
## [19] "NNT-AS1"   "PCED1B"    "PLP2"      "PTGER2"    "S100A11"   "TM2D1"    
## [25] "TMEM156"   "TRBV12-3"  "TTC16"     "USP30-AS1"
## [1] "found 25 genes."

## [1] 16
##  [1] "AGO3"     "CDC25B"   "CDK13"    "DCTN4"    "DENND4A"  "DUSP2"   
##  [7] "FAM110A"  "FAM160A2" "FAM53C"   "GCH1"     "MAP2K5"   "MAP2K6"  
## [13] "MAP3K2"   "NOG"      "NT5C2"    "PPM1B"    "RAP2C"    "TMEM263" 
## [19] "ZNF638"   "DICER1"   "GIGYF2"   "KIF13B"   "MAP4"     "MAST3"   
## [25] "RNF144A"  "TMEM33"  
## [1] "found 25 genes."

## [1] 17
##  [1] "AC013264.1"   "AC025159.1"   "AC119396.1"   "AC245297.3"   "AK5"         
##  [6] "ANXA2R"       "BOLA2-SMG1P6" "C12orf29"     "DELE1"        "GIMAP6"      
## [11] "LINC00861"    "LST1"         "LYRM9"        "MCUB"         "OTULINL"     
## [16] "POLD4"        "SLC25A38"     "SNHG7"        "SPART"        "TC2N"        
## [21] "TMEM161B-AS1" "TRAV8-3"      "TRBV28"       "WAPL"         "WASHC4"      
## [26] "ZNF749"       "C1orf162"     "TUT4"        
## [1] "found 21 genes."

## [1] 18
##  [1] "C1orf174" "FLI1"     "IRF2BP2"  "OXLD1"    "PAPOLG"   "SS18"    
##  [7] "ZNF821"   "ADAR"     "AFF1"     "ARHGAP4"  "DEK"      "DHX29"   
## [13] "DIS3"     "ETV6"     "IFIT2"    "IQSEC1"   "KIF2A"    "MLEC"    
## [19] "MLLT10"   "MLLT6"    "POGLUT1"  "PVT1"     "ROMO1"    "SECISBP2"
## [25] "SOCS2"    "ZNF593"  
## [1] "found 25 genes."

## [1] 19
##  [1] "AC008105.3" "AC145124.1" "ADK"        "DGKA"       "MMP28"     
##  [6] "NT5DC1"     "WARS2"      "AC020915.3" "AC022916.1" "APOL1"     
## [11] "BISPR"      "ECPAS"      "FRMD4B"     "HELB"       "ICE1"      
## [16] "IGLV3-25"   "MTRNR2L8"   "MX2"        "NCBP3"      "PRMT2"     
## [21] "RSAD2"      "SESN3"      "SETD5"      "SP140L"     "SPATA13"   
## [26] "TCAF2"      "TTTY15"     "UTP25"     
## [1] "found 22 genes."

## [1] 20
##  [1] "ARID4A"  "COG5"    "DPEP2"   "GATA3"   "HEATR5B" "HELQ"    "MTO1"   
##  [8] "MXD1"    "NABP1"   "PARP16"  "PRKCH"   "RASSF3"  "SIKE1"   "ST3GAL1"
## [15] "STX16"   "ZNF490"  "CCDC88C" "CHD6"    "FRY"     "FRYL"    "FUT11"  
## [22] "NBEAL2"  "SLMAP"   "TBX21"   "ZBTB8OS"
## [1] "found 25 genes."

## [1] 21
##  [1] "CSRNP1"  "DAPP1"   "EFCAB2"  "IL6R"    "KANSL2"  "KDM6A"   "MYLIP"  
##  [8] "NR1D1"   "NR1D2"   "TBCK"    "TCTA"    "ASCL2"   "C12orf4" "CARD11" 
## [15] "CREBZF"  "KANSL1"  "KMT2B"   "KMT2C"   "KMT2D"   "NFE2L1"  "PHF20"  
## [22] "PHF20L1" "SCAF8"   "UBE3B"   "UTY"    
## [1] "found 25 genes."

## [1] 22
##  [1] "BTG1"    "BTG2"    "FBXL3"   "FHIT"    "INPP4B"  "KIF9"    "NR4A3"  
##  [8] "NSUN6"   "RGS10"   "SH3YL1"  "TECPR1"  "ACAP1"   "ANKAR"   "CCDC88B"
## [15] "CGGBP1"  "CYTIP"   "EFR3A"   "ISG20"   "KIF3B"   "KLF6"    "NARF"   
## [22] "P4HTM"   "PYCARD"  "RECK"    "TBC1D14" "TRAPPC8" "TSHZ2"  
## [1] "found 27 genes."

## [1] 23
##  [1] "BTN3A1"    "CD28"      "CD82"      "MZF1"      "PECAM1"    "PITPNC1"  
##  [7] "PLK3"      "PTPRCAP"   "TMEM245"   "TNFRSF25"  "YPEL5"     "APOBEC3G" 
## [13] "BTN3A2"    "CARD8-AS1" "CCL5"      "CCR4"      "CD2"       "CD58"     
## [19] "CST7"      "GAB3"      "GNLY"      "ITGAL"     "PLEK"      "PTPRC"    
## [25] "SMPD2"     "SPON2"     "TAOK3"    
## [1] "found 26 genes."

## [1] 24
##  [1] "IER3"    "KLF10"   "PLEKHM1" "AP3M2"   "C1orf21" "COL6A3"  "CRIP2"  
##  [8] "CRTC3"   "DDX3Y"   "EIF1AY"  "ETNK1"   "IL21R"   "KDM5D"   "LAIR2"  
## [15] "LPIN1"   "LPIN2"   "NLRC5"   "PIM1"    "PPP2R5B" "RNF157"  "RNPEPL1"
## [22] "RTKN2"   "SBNO2"   "SUSD6"   "TAF4B"   "TNFRSF4" "ZNF236" 
## [1] "found 27 genes."

## [1] 25
##  [1] "AC097376.2" "AL135791.1" "AL359220.1" "ARMH1"      "CERNA1"    
##  [6] "CHRM3-AS2"  "ERVK3-1"    "IPCEF1"     "JAML"       "LINC00623" 
## [11] "LINC01215"  "LINC01550"  "MATR3-1"    "MHENCR"     "MMP24OS"   
## [16] "NPIPB5"     "NSMCE3"     "PITPNA-AS1" "RETREG1"    "TRABD2A"   
## [21] "TRAV21"     "TRAV25"     "TRBV5-4"    "TRBV6-5"    "ZFP14"     
## [26] "ZNF506"     "ZNF91"      "PUS7L"     
## [1] "found 17 genes."

## [1] 26
##  [1] "ACADSB"    "C12orf45"  "CDKN2AIP"  "FBXO8"     "GSTM4"     "GTPBP10"  
##  [7] "GTPBP6"    "HIST1H2BC" "IP6K2"     "METAP1"    "NELFCD"    "PHLDA1"   
## [13] "ZNF7"      "C2orf68"   "CAMTA2"    "GUF1"      "HELZ2"     "IGHMBP2"  
## [19] "MTRF1L"    "PDE12"     "SUPV3L1"   "TRMT10C"   "ZNF483"    "ZNF708"   
## [1] "found 23 genes."

## [1] 27
##  [1] "C6orf62" "CAMK4"   "CCDC66"  "CCM2"    "CEP120"  "CEP95"   "CITED2" 
##  [8] "DPYD"    "EPS8"    "GADD45B" "HIVEP2"  "HOXB2"   "IER2"    "KLF12"  
## [15] "ODF2L"   "PIK3IP1" "PNISR"   "RCAN3"   "RCSD1"   "SLC44A1" "TESPA1" 
## [22] "TGIF1"   "ZFP36L1" "BLOC1S6" "IFI44L"  "VPS36"   "WDR7"   
## [1] "found 27 genes."

## [1] 28
##  [1] "ABCG1"       "AC025171.2"  "AC027644.3"  "AC084033.3"  "ARF4-AS1"   
##  [6] "ARRDC2"      "GOLGA8B"     "GPCPD1"      "JCHAIN"      "KCNQ1OT1"   
## [11] "LINC00649"   "LINC02265"   "LINC02273"   "MDS2"        "MFSD14C"    
## [16] "MUC20-OT1"   "MZF1-AS1"    "NAA16"       "NDUFV2-AS1"  "NOCT"       
## [21] "NPIPB11"     "RNASEH1-AS1" "ST7L"        "THAP9-AS1"   "TRAV8-6"    
## [26] "TRBV7-3"     "ZNF600"      "AREG"        "PKNOX1"     
## [1] "found 14 genes."

## [1] 29
##  [1] "AC009061.2" "ANKH"       "CCNI"       "COA1"       "COX10"     
##  [6] "CRLF3"      "DNASE1"     "ENOSF1"     "FCMR"       "FYB1"      
## [11] "IGKV1-5"    "LIMD2"      "LRRN3"      "NUDT4"      "ORC4"      
## [16] "PCNP"       "SLC8B1"     "SPIDR"      "STARD10"    "TMEM154"   
## [21] "TMEM71"     "TRBV6-2"    "TUBD1"      "TUBE1"      "YY1AP1"    
## [26] "ZFAS1"      "ZNF140"     "SLC23A2"    "TMEM175"   
## [1] "found 27 genes."

## [1] 30
##  [1] "ACSS1"    "AIF1"     "ATP5MG"   "C7orf31"  "DENND2D"  "DUSP1"   
##  [7] "FAM102A"  "HIST1H4C" "KLRB1"    "LTB"      "METTL21A" "NECAP2"  
## [13] "NOP53"    "RACK1"    "RASA2"    "RPL36A"   "RPS26"    "TIA1"    
## [19] "TOMM7"    "TSPYL1"   "TSPYL2"   "TSPYL4"   "ZFX"      "HSH2D"   
## [25] "MX1"      "NUP160"   "OAS1"    
## [1] "found 26 genes."

## [1] 31
##  [1] "ABCC10"      "ABHD2"       "ABHD3"       "AC116407.2"  "AC118549.1" 
##  [6] "ADTRP"       "ATAD2B"      "C20orf204"   "FAAH2"       "GPR132"     
## [11] "HACD3"       "HRH2"        "KANSL1-AS1"  "LRRC58"      "MFSD14A"    
## [16] "NBDY"        "NDUFC1"      "NRDC"        "OSM"         "PARP11"     
## [21] "PCSK1N"      "PUM3"        "SLF2"        "THUMPD3-AS1" "TMEM138"    
## [26] "TOMM70"      "TSPAN14"     "Z93930.2"    "ZFYVE28"    
## [1] "found 24 genes."

## [1] 32
##  [1] "AC004687.1" "AC004854.2" "AC016405.3" "AC020911.2" "AC023157.3"
##  [6] "AC025171.3" "AC083880.1" "AC091271.1" "AC103591.3" "AF213884.3"
## [11] "AL121944.1" "AL139246.5" "AL357060.1" "AL451085.1" "AL627171.1"
## [16] "AL645728.1" "ATP2B1-AS1" "BX284668.6" "C6orf99"    "HIPK1-AS1" 
## [21] "ID3"        "KLHL6"      "LINC01465"  "NPIPB4"     "NUP58"     
## [26] "OSER1-DT"   "SDR42E2"    "Z93241.1"   "SNHG9"     
## [1] "found 5 genes."

## [1] 34
##  [1] "ABTB1"    "CHURC1"   "CIRBP"    "EIF3G"    "EIF3K"    "EIF3M"   
##  [7] "EIF4A2"   "EPB41"    "KLHL24"   "LIMS1"    "MAP4K2"   "MARCKSL1"
## [13] "NMT2"     "NOSIP"    "POLL"     "SCRN2"    "SERTAD2"  "UXT"     
## [19] "WDR48"    "DDX60"    "PARVG"    "RSU1"     "TRIB2"    "USP46"   
## [1] "found 24 genes."

## [1] 35
##  [1] "CD52"     "COMMD6"   "COMMD9"   "CYB5D2"   "FCGRT"    "HLA-B"   
##  [7] "HLA-E"    "HLA-F"    "KIF20B"   "SCPEP1"   "SGSM3"    "TNFAIP8" 
## [13] "ZHX2"     "B2M"      "COMMD2"   "DIAPH2"   "EAPP"     "EMB"     
## [19] "G2E3"     "HLA-DRB5" "MR1"      "PRF1"     "SHOC2"    "ST6GAL1" 
## [25] "TAPBP"   
## [1] "found 25 genes."

## [1] 36
##  [1] "CCNL1"    "CENPK"    "CLK4"     "ITGB3BP"  "NKTR"     "PDCD7"   
##  [7] "PRPF38B"  "RSRP1"    "SMDT1"    "ZNF677"   "ZRSR2"    "CLASRP"  
## [13] "CWC25"    "ERICH1"   "IFI6"     "KMT2E"    "NKAP"     "PARP4"   
## [19] "PIP4K2B"  "SAMD9"    "SFSWAP"   "SLTM"     "SREK1IP1" "ZNF195"  
## [1] "found 24 genes."

## [1] 37
##  [1] "AKIRIN1"  "AKIRIN2"  "CD83"     "CLDND1"   "FAM8A1"   "MYADM"   
##  [7] "OSER1"    "ALOX5AP"  "ATXN7L3B" "BROX"     "CD320"    "CD7"     
## [13] "CDK2AP2"  "DENND4B"  "FBXO9"    "LY96"     "NT5C"     "PSMB9"   
## [19] "PSME2"    "RNF145"   "SDR39U1"  "SELL"     "SLC20A2"  "TIPARP"  
## [25] "UGCG"    
## [1] "found 25 genes."

## [1] 38
##  [1] "NSMAF"    "TBC1D10C" "APH1B"    "CISH"     "CITED4"   "CTBS"    
##  [7] "EHMT1"    "GABPB2"   "GMFB"     "ICOS"     "IFI35"    "KCNAB2"  
## [13] "KLF9"     "LTBP3"    "NADSYN1"  "NEK9"     "NME3"     "PLAC8"   
## [19] "PRDM2"    "PREP"     "REXO2"    "SLC9A8"   "STK10"    "STK17B"  
## [25] "TOB1"     "ZNF101"   "ZNF276"  
## [1] "found 27 genes."

## [1] 39
##  [1] "RBKS"       "UPF3A"      "AC016831.7" "AGAP2"      "APBB1IP"   
##  [6] "ARL4C"      "CARMIL2"    "CD55"       "CEMIP2"     "CRYBG1"    
## [11] "DDIT4"      "GPRIN3"     "GRK2"       "IFITM2"     "IRAK4"     
## [16] "MIAT"       "MT1X"       "NFKBIZ"     "NORAD"      "NSD3"      
## [21] "ODF3B"      "PHPT1"      "RAP1GAP2"   "RPS4Y1"     "SIGIRR"    
## [26] "SLC25A37"   "SMIM37"     "TENT5C"    
## [1] "found 25 genes."

## [1] 40
##  [1] "APOL6"    "BCL9L"    "CMIP"     "CROT"     "EIF2AK4"  "FAM53B"  
##  [7] "GIMAP4"   "GIMAP7"   "GZMM"     "IL32"     "KIAA1551" "KLHDC4"  
## [13] "LY6E"     "MCTP2"    "MT2A"     "NQO2"     "PDE4B"    "PEX11B"  
## [19] "PLA2G16"  "RCBTB2"   "RNMT"     "SEC14L1"  "SH3BP5"   "SYNE1"   
## [25] "SYTL1"    "TGFBR3"   "VPS13D"   "ZBP1"     "ZNF292"  
## [1] "found 29 genes."

Session information

gc()
##            used  (Mb) gc trigger  (Mb) limit (Mb) max used  (Mb)
## Ncells  4167295 222.6   11673970 623.5         NA 11673970 623.5
## Vcells 20576987 157.0   51369168 392.0      65536 51368243 392.0
sessionInfo()
## R version 4.2.3 (2023-03-15)
## Platform: aarch64-apple-darwin20 (64-bit)
## Running under: macOS Ventura 13.4.1
## 
## Matrix products: default
## BLAS:   /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRblas.0.dylib
## LAPACK: /Library/Frameworks/R.framework/Versions/4.2-arm64/Resources/lib/libRlapack.dylib
## 
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
## 
## attached base packages:
## [1] stats     graphics  grDevices utils     datasets  methods   base     
## 
## other attached packages:
## [1] stringr_1.5.0     limma_3.54.2      tidyr_1.3.0       ggpubr_0.6.0     
## [5] ggplot2_3.4.2     data.table_1.14.8
## 
## loaded via a namespace (and not attached):
##  [1] Rcpp_1.0.10            png_0.1-8              Biostrings_2.66.0     
##  [4] digest_0.6.31          utf8_1.2.3             R6_2.5.1              
##  [7] GenomeInfoDb_1.34.9    backports_1.4.1        stats4_4.2.3          
## [10] RSQLite_2.3.1          evaluate_0.20          httr_1.4.6            
## [13] pillar_1.9.0           zlibbioc_1.44.0        rlang_1.1.0           
## [16] rstudioapi_0.14        car_3.1-2              jquerylib_0.1.4       
## [19] blob_1.2.4             R.oo_1.25.0            R.utils_2.12.2        
## [22] S4Vectors_0.36.2       rmarkdown_2.21         labeling_0.4.2        
## [25] RCurl_1.98-1.12        bit_4.0.5              munsell_0.5.0         
## [28] broom_1.0.4            compiler_4.2.3         xfun_0.39             
## [31] pkgconfig_2.0.3        BiocGenerics_0.44.0    htmltools_0.5.5       
## [34] tidyselect_1.2.0       KEGGREST_1.38.0        GenomeInfoDbData_1.2.9
## [37] tibble_3.2.1           IRanges_2.32.0         fansi_1.0.4           
## [40] crayon_1.5.2           dplyr_1.1.2            withr_2.5.0           
## [43] R.methodsS3_1.8.2      bitops_1.0-7           grid_4.2.3            
## [46] jsonlite_1.8.4         gtable_0.3.3           lifecycle_1.0.3       
## [49] DBI_1.1.3              magrittr_2.0.3         scales_1.2.1          
## [52] cli_3.6.1              stringi_1.7.12         cachem_1.0.7          
## [55] carData_3.0-5          farver_2.1.1           XVector_0.38.0        
## [58] ggsignif_0.6.4         bslib_0.4.2            generics_0.1.3        
## [61] vctrs_0.6.2            RColorBrewer_1.1-3     org.Hs.eg.db_3.16.0   
## [64] tools_4.2.3            bit64_4.0.5            Biobase_2.58.0        
## [67] glue_1.6.2             purrr_1.0.1            abind_1.4-5           
## [70] fastmap_1.1.1          yaml_2.3.7             AnnotationDbi_1.60.2  
## [73] colorspace_2.1-0       rstatix_0.7.2          memoise_2.0.1         
## [76] knitr_1.44             sass_0.4.5